package ScalaStudy.chapter07

import scala.collection.mutable

object Test09_Map_Mutable {
  def main(args: Array[String]): Unit = {


    /////////////////////////////////////////////////////////////////////////////////////////
    ///////////////////////////////////////////  map映射  ////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////
    //可变


    println("===================  创建 可变 Map  ===================")

    val map: mutable.Map[String, Int] = mutable.Map("a" -> 1, "b" -> 2, "c" -> 3)
    println(map)
    println(map.getClass)

    println("===================  添加元素  ===================")

    map.put("d",4)        //【 map = ("a" -> 1, "b" -> 2, "c" -> 3, "d" -> 4) 】
    println(map)

    map += (("e",5))      //【 map = ("a" -> 1, "b" -> 2, "c" -> 3, "d" -> 4, "e" -> 5) 】
    println(map)

    println("===================  删除元素  ===================")

    map.remove("e")       //删除e对应的值，【 map = ("a" -> 1, "b" -> 2, "c" -> 3, "d" -> 4) 】
    println(map)

    map -= "d"           //删除d对应的值，【 map = ("a" -> 1, "b" -> 2, "c" -> 3) 】
    println(map)

    println("===================  修改元素  ===================")

    map.update("d",9)              //增加一个元素，值为9
    map.update("d",4)              //修改一个元素，值修改成4

    println(map)

    println("===================  合并map  ===================")

    val map1: mutable.Map[String, Int] = mutable.Map("0" -> 0)

    map1 ++= map                                         //将map的元素添加到map1中
    println(map1)                   //【 map = ("0" -> 0, "a" -> 1, "b" -> 2, "c" -> 3, "d" -> 4) 】

    val map2 = map1 ++ map          //将合并之后的map赋给新的变量
    println(map2)








  }
}
